/*******************************************************************************
* Имя файла: sortBruteForce.cpp
* Дата: 14-04-2024
* Разработчик: Андрей Подлегаев
* Группа: 315
* Факультет: ЦДО ТУСУР
* Лицензия: BSD
* Описание: Алгоритм сортировки методом "Перебора"
* *****************************************************************************/
#include "sortBruteForce.h"

void sortBruteForce(std::vector<int>& xVec,
                    bool (*sortOrder)(const int&, const int&))
{
  if (xVec.empty()) {
      return;
    }
  for (int startIndex = 0; startIndex < xVec.size() - 1; ++startIndex) {
      int bestIndex = startIndex;

      for (int currentIndex = startIndex + 1; currentIndex < xVec.size(); ++currentIndex) {
          if (sortOrder(xVec[bestIndex], xVec[currentIndex])) {
              bestIndex = currentIndex;
            }
        }
      std::swap(xVec[startIndex], xVec[bestIndex]);
    }
}
